package com.hifar.test.equip.pojo;

import com.alibaba.fastjson.annotation.JSONField;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hifar.plat.AopOption.Dict;
import com.hifar.plat.AopOption.Excel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 资源-设备
 * </p>
 *
 * @author wangkepeng
 * @since 2024-12-11 11:58:26
 */
@Data
@EqualsAndHashCode(callSuper = false)

@ApiModel(value = "HfResEquip对象", description = "资源-设备")
public class HfResEquipExportVo implements Serializable {

	private static final long serialVersionUID = 1L;

	/**
	 * 设备名称
	 */
	@Excel(name = "设备名称", sort = 1)
	@ApiModelProperty(value = "设备名称")
	@TableField("EQUIP_NAME")
	@JSONField(name = "equipName")
	private String equipName;

	/**
	 * 设备编号
	 */
	@Excel(name = "设备编号", sort = 2)
	@ApiModelProperty(value = "设备编号")
	@TableField("EQUIP_CODE")
	@JSONField(name = "equipCode")
	private String equipCode;

	/**
	 * 设备类型编号
	 */
	@Excel(name = "设备类型", sort = 3, dictCode = "hf_res_equip_type")
	@Dict(dictCode = "hf_res_equip_type")
	@ApiModelProperty(value = "设备类型")
	@TableField("EQUIP_TYPE_CODE")
	@JSONField(name = "equipTypeCode")
	private String equipTypeCode;

	@Excel(name = "设备分类", sort = 4)
	@ApiModelProperty(value = "设备分类（数据字典equip_classify_type）")
	@Dict(dictCode = "equip_classify_type")
	@TableField("CLASSIFY_TYPE_CODE")
	@JSONField(name = "classifyTypeCode")
	private String classifyTypeCode;

	/**
	 * 设备型号
	 */
	@Excel(name = "设备型号", sort = 6)
	@ApiModelProperty(value = "设备型号")
	private String equipModel;

	/**
	 * 设备能力
	 */
	@Excel(name = "设备能力", sort = 7)
	@ApiModelProperty(value = "设备能力")
	private String equipAbility;

	/**
	 * 设备用途
	 */
	@Excel(name = "设备用途", sort = 8, dictCode = "hf_res_equip_use")
	@ApiModelProperty(value = "设备使用范围：1试验设备 2测试设备(保留)")
	@Dict(dictCode = "hf_res_equip_use")
	private String equipUse;

	/**
	 * 状态100正常200故障300停用 900报废
	 */
	@Excel(name = "设备状态", sort = 9, dictCode = "hf_res_equip_status")
	@Dict(dictCode = "hf_res_equip_status")
	@ApiModelProperty(value = "状态100正常200故障300停用 900报废")
	@TableField("STATUS")
	@JSONField(name = "status")
	private String status;

	/**
	 * 内部名称(保留)
	 */
	@Excel(name = "内部名称", sort = 10)
	@ApiModelProperty(value = "内部名称(保留)")
	private String innerName;

	/**
	 * 软件版本号
	 */
	@Excel(name = "软件版本号", sort = 11)
	@ApiModelProperty(value = "软件版本号")
	@TableField("ASSETS_CODE")
	@JSONField(name = "assetsCode")
	private String assetsCode;

	/**
	 * 规格
	 */
	@Excel(name = "规格", sort = 12)
	@ApiModelProperty(value = "规格")
	@TableField("SPECIFICATION")
	@JSONField(name = "specification")
	private String specification;

	/**
	 * 出厂编号
	 */
	@Excel(name = "出厂编号", sort = 13)
	@ApiModelProperty(value = "出厂编号")
	@TableField("LEAVE_CODE")
	@JSONField(name = "leaveCode")
	private String leaveCode;

	/**
	 * 生产厂家
	 */
	@Excel(name = "生产厂家", sort = 14)
	@ApiModelProperty(value = "生产厂家")
	@TableField("FACTORY_NAME")
	@JSONField(name = "factoryName")
	private String factoryName;

	/**
	 * 设备生产日期
	 */
	@Excel(name = "设备生产日期", sort = 15, format = "yyyy-MM-dd", smartDateParse = true)
	@ApiModelProperty(value = "设备生产日期")
	@TableField("EQUIP_PRODUCED_DATE")
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
	@JSONField(name = "equipProducedDate")
	private Date equipProducedDate;

	/**
	 * 购买日期
	 */
	@Excel(name = "购买日期", sort = 16, format = "yyyy-MM-dd", smartDateParse = true)
	@ApiModelProperty(value = "购买日期")
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
	@TableField("BUY_TIME")
	@JSONField(name = "buyTime")
	private Date buyTime;

	/**
	 * 设备责任人
	 */
	@Excel(name = "设备责任人", sort = 17)
	@ApiModelProperty(value = "设备责任人")
	@TableField("MANAGER_NAME")
	@JSONField(name = "managerName")
	private String managerName;

	/**
	 * 计量编号
	 */
	@Excel(name = "计量编号", sort = 18)
	@ApiModelProperty(value = "计量编号")
	private String meteringNum;

	/**
	 * 检定日期
	 */
	@Excel(name = "检定日期", sort = 19, format = "yyyy-MM-dd", smartDateParse = true)
	@ApiModelProperty(value = "检定日期")
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
	private Date checkTime;
	/**
	 * 检定有效期
	 */
	@Excel(name = "检定到期日期", sort = 20, format = "yyyy-MM-dd", smartDateParse = true)
	@ApiModelProperty(value = "计量有效期")
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
	private Date checkValid;

	/**
	 * 检定周期值
	 */
	@Excel(name = "检定周期值", sort = 21)
	@ApiModelProperty(value = "检定周期值")
	private String checkPeriodValue;

	/**
	 * 检定周期单位 1 日 2 月 3 年
	 */
	@Excel(name = "检定周期单位", sort = 22, valueMapping = "日:1,周:2,年:3")
	@ApiModelProperty(value = "检定周期单位  1 日  2 月 3 年")
	private String checkPeriodUnit;

	/**
	 * 保养周期值
	 */
	@Excel(name = "保养周期值", sort = 23)
	@ApiModelProperty(value = "保养周期值")
	private Integer maintainPeriodValue;

	/**
	 * 保养周期单位 1 日 2 月 3 年
	 */
	@Excel(name = "保养周期单位", sort = 24, valueMapping = "日:1,周:2,年:3")
	@ApiModelProperty(value = "保养周期单位  1 日  2 月 3 年")
	private String maintainPeriodUnit;

	/**
	 * 保养日期
	 */
	@Excel(name = "保养日期", sort = 25, format = "yyyy-MM-dd", smartDateParse = true)
	@ApiModelProperty(value = "保养日期")
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
	private Date maintainDate;

	/**
	 * 保养有效截止日期
	 */
	@Excel(name = "保养有效截止日期", sort = 26, format = "yyyy-MM-dd", smartDateParse = true)
	@ApiModelProperty(value = "保养有效截止日期")
	@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
	private Date maintainValidDate;

	/**
	 * 排序
	 */
	@Excel(name = "排序", sort = 27)
	@ApiModelProperty(value = "排序")
	private Integer rowSort;

	/**
	 * 备注
	 */
	@Excel(name = "备注", sort = 28)
	@ApiModelProperty(value = "备注")
	private String remarks;

	/**
	 * 检定有效状态1有效0无效
	 */
	@Excel(name = "检定有效状态", sort = 29, valueMapping = "有效:1,无效:0")
	@ApiModelProperty(value = "检定有效状态1有效0无效")
	private String checkValidStatus;

	/**
	 * 保养有效状态1有效0无效
	 */
	@Excel(name = "保养有效状态", sort = 30, valueMapping = "有效:1,无效:0")
	@ApiModelProperty(value = "保养有效状态1有效0无效")
	private String maintainValidStatus;

}